This invention pertains to removable components, particularly electronic and electrical components, which are supported within a system, and methods and apparatus to reduce the likelihood that a component is incorrectly inserted into the system.
Many systems include a plurality of modules configured to perform designated functions within the system. The modules are supported in one or more chassis, and the modules are interconnected in the system, typically through a central controller. While the modules are frequently electronic modules, they can also include hydraulic and pneumatic modules, as well as optical modules in a fiber optic system. One example of a system utilizing electronic modules is a mass computer memory storage array. FIG. 1 depicts such a system 2, which includes a first memory array xe2x80x9cAxe2x80x9d, a second memory array xe2x80x9cBxe2x80x9d, and a central controller xe2x80x9cCxe2x80x9d. The system 2 depicted in FIG. 1 is a simplified diagram of a mass computer memory storage system, and is used for illustrative purposes only. The system 2 can, for example, be a computer server used to store Internet content, in which case the controller xe2x80x9cCxe2x80x9d is configured to send and receive large amounts of data to and from a telecommunications network. Another example of a use of the system 2 of FIG. 1 is to store large quantities of data used for analysis purposes, such as in imaging complex structures. Array xe2x80x9cAxe2x80x9d of the system 2 is connected to the controller xe2x80x9cCxe2x80x9d by cable 4, and array xe2x80x9cBxe2x80x9d is connected to the controller xe2x80x9cCxe2x80x9d by cable 18. Each array comprises a chassis (not shown) which supports the modules within the array. In one variation on the system depicted in FIG. 1, the system can comprises a single array xe2x80x9cAxe2x80x9d, and the control functions performed by the central controller can be incorporated within the cabinet 12 of array xe2x80x9cAxe2x80x9d. The system 2 can be further expanded by adding more arrays in communication with the central controller xe2x80x9cCxe2x80x9d.
The array xe2x80x9cAxe2x80x9d of FIG. 1 comprises a plurality of memory modules 5, 6 and 7, as well as auxiliary modules 8, 9, 10 and 11, which can comprise such things as power supplies, cooling fans, and local control modules. Array xe2x80x9cBxe2x80x9d of FIG. 1 can comprise similar modules, such as memory modules 15, 16 and 17. The controller xe2x80x9cCxe2x80x9d is configured to direct data to, and retrieve data from, any of the modules within either array. Consequently, the controller xe2x80x9cCxe2x80x9d contains a computer readable xe2x80x9cmapxe2x80x9d of the overall memory array system, which identifies to the central controller the array and the module within the array where particular data is stored. This xe2x80x9cmapxe2x80x9d allows the central controller to access stored data, to know where data can be stored without overwriting in-use sectors, and to xe2x80x9crememberxe2x80x9d where it has stored data. The specific methods for configuring such large memory array systems for the storage and retrieval of data are generally well known in the art, and will not be discussed further. However, some general features leading to shortcomings with the current state of the art will now be discussed.
The various modules in each array are removably supported within slots in the array. Removability allows a module to be removed for servicing or upgrades, and allows an operator to reconfigure the system by moving modules from one location to another. However, such removability introduces the opportunity for human error. For example, an operator can accidentally remove the wrong module from an array, can insert a module into the wrong slot within an array, or can insert a module into the wrong array. Since some systems have thousands of modules placed in hundreds of arrays, the opportunity for inserting the wrong module into the wrong slot is not unlikely. In many systems a particular slot in an array is dedicated to a particular module, which reduces, but does not eliminate, the chance for human error. However, in more advanced systems the central controller can be configured to automatically select a slot within an array, or within any array in the system, to perform a particular function, or to receive a particular module. This variability allows the system greater flexibility and operating efficiently, but greatly increases the opportunity for operator error.
By way of example, typically memory modules are actively backed-up using a dedicated module to back up two primary modules. For example, with respect to FIG. 1, a xe2x80x9cdata stripexe2x80x9d S1 can consist of two primary memory modules 5 and 6, and a back-up module 7. A single back-up module 7, when used in conjunction with a back-up algorithm and a computer processor, can be used to back-up the contents of two primary modules 5 and 6. For example, the back-up module 7 can store the binary sum of the modules 5 and 6. In this way, if memory is lost from module 5, it can be restored merely by processing the contents of modules 6 and 7 using the back-up algorithm to calculate the lost data in module 5. If one of the three modules is determined to be defective by a diagnostic program, a fourth available module can be put into service in the capacity of a back-up or a primary module. After the defective module has been repaired, it can be replaced into the slot from which it was removed or into another slot configured to receive the module, and the fourth module put into other service. However, if an operator were to accidentally reinstall the repaired module into the wrong slot, then any data which is lost in the first or second module cannot be restored. For example, let us assume that module 7 in data stripe S1 is defective, and module 20 in data stripe S4 is defective. Both modules 7 and 20 are then removed for service and repaired. If module 7 is subsequently and accidentally installed in an open slot not configured for back-up service of modules 5 and 6, then loss of data can occur due to the system configuration.
The system can be further complicated by advances in memory arrays, for example where the back-up module is selected by a controller, rather than being the third module in a memory stripe. In this instance, the back-up module can be one of any of the modules in the array in the system. Additionally, in some configurations the memory stripe consists of five or more memory modules, and so it is not always obvious that the third module down is the back-up module.
In addition to the risk of accidentally installing a module in the incorrect slot for that module, there is a risk that a defective module can accidentally be reinstalled into the system prior to having been serviced, or having been improperly serviced. In this instance, using the defective module can lead to loss of data or other problems.
What is needed then is a way to decrease the risk that a module in a system will be installed into the wrong position, or that the module will be installed when it should not be.
The invention includes methods and apparatus to help verify that a component to be installed in a receiving system is acceptable to the system, and to the location in the system in which the component is being installed. One embodiment of the invention is an electronic key device for use in a component intended to be received within a system. The system has an electronic lock device configured to respond to the electronic key device. The electronic key device comprises a readable memory containing an identification code and a signal transmitter configured to access the identification code from the readable memory. The signal transmitter is further configured to transmit the identification code to the receiving system as an identification signal. The electronic key device can further comprise a power source and an information processing device. The readable memory can also contain a history of the component, which can be used as part of the identification signal. The readable memory can further comprise user input data useful to the receiving system in determining whether or not to receive the component.
A second embodiment of the invention is a verification system for an interchangeable component, wherein the component is configured to be mated with a receiving system. The verification system includes a key device supported by the interchangeable component. The key device is configured to transmit a signal comprising component identification characteristics. The verification system also includes a lock system having a signal receiver, a verification component, and a component lock-out device. The signal receiver is configured to receive the signal from the key device and pass the signal to the verification component. The verification component is configured to use the signal to determine whether or not the component should be admitted to the receiving system, and to generate an authorization signal if the component should be admitted. The component lock-out device is configured to receive the authorization signal from the verification component and to the provide the component access to the receiving system in response to receipt of the authorization signal.
A method in accordance with the present invention includes a method for verifying whether or not a component should be received into a receiving system. In the method, the component is at least partially inserted into the receiving system. An identification signal is then generated from the component which identifies the component to the receiving system. The identification signal is analyzed to determine whether or not to admit the component to the receiving system. If the analysis determines that the component should be admitted to the receiving system, an authorization signal is generated. If an authorization signal is generated, the authorization signal is used to allow the component to be admitted to the system. The method can also provide that if the analysis determines that the component should not be admitted to the system, a signal to a user is generated indicating that the component is not admitted to the receiving system. The method can further include admitting the component to the receiving system, and performing a diagnostic analysis of the component prior to placing the component in service in the system.
An example of a component which can embody the verification methods and apparatus of the present invention is a module in a computer system. The computer system can be, for example, a mass memory storage system.